package com.xinghai.system.domain;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.xinghai.common.annotation.Excel;
import com.xinghai.common.core.domain.BaseEntity;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.math.BigDecimal;
import java.util.Date;

/**
 * 用车信息对象 xh_use_vehicle_info
 * 
 * @author xinghai
 * @date 2024-07-17
 */
@NoArgsConstructor
@AllArgsConstructor
@Data
public class XhUseVehicleInfo extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** id */
    @TableId(value = "id",type = IdType.AUTO)
    private Long id;

    /** 项目名称 */
    @Excel(name = "项目名称")
    private String projectName;

    /** 设备类型（字典值8001XX） */
    @Excel(name = "设备类型", readConverterExp = "字典值8001XX")
    private Long eqType;

    /** 项目经理 */
    @Excel(name = "项目经理")
    private String projectManager;

    /** 发货方式 */
    @Excel(name = "发货方式")
    private String deliverWay;

    /** 发货原因 */
    @Excel(name = "发货原因")
    private String deliverDesc;

    /** 始发地 */
    @Excel(name = "始发地")
    private String beginAddr;

    /** 始发地联系人 */
    @Excel(name = "始发地联系人")
    private String beginContact;

    /** 帐号状态（0正常 1停用） */
    @Excel(name = "帐号状态", readConverterExp = "0=正常,1=停用")
    private String status;

    /** 删除标志（0代表存在 1代表删除） */
    private String delFlag;

    /** 最后登录IP */
    @Excel(name = "最后登录IP")
    private String loginIp;

    /** 最后登录时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "最后登录时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date loginDate;

    /** 目的地 */
    @Excel(name = "目的地")
    private String endAddr;

    /** 目的地联系人 */
    @Excel(name = "目的地联系人")
    private String endContact;

    /** 发货日期 */
    @Excel(name = "发货日期", width = 30)
    private String deliverDate;

    /** 需求到货日期 */
    @Excel(name = "需求到货日期", width = 30)
    private String needGiveDate;

    /** 需求车型 */
    @Excel(name = "需求车型")
    private String needVehicle;

    /** 预估装载率（100.00） */
    @Excel(name = "预估装载率", readConverterExp = "1=00.00")
    private BigDecimal estimateLoadRate;

    /** 发货设备入库单号 */
    @Excel(name = "发货设备入库单号")
    private String pushStashNo;

    /** 发货设备移库单号 */
    @Excel(name = "发货设备移库单号")
    private String changeStashNo;

    /** 公里数 */
    @Excel(name = "公里数")
    private BigDecimal kilometre;

    /** 图片地址（逗号分割） */
    @Excel(name = "图片地址", readConverterExp = "逗号分割")
    private String imgLinks;

    /** 钉钉预览图片地址（逗号分割） */
    @Excel(name = "钉钉预览图片地址", readConverterExp = "逗号分割")
    private String dingtalkImgLinks;

    /** 异常费用 */
    @Excel(name = "异常费用")
    private BigDecimal abnormalSum;

    /** TODO 发货方式 字典值*/
    @Excel(name = "发货方式")
    private Long deliveryMethod;

    /** 详细地址 */
    @Excel(name = "详细地址")
    private String detailedAddress;

    @Excel(name = "装车人员")
    private String puckVehPeople;

    @Excel(name = "发货名称")
    private String deliverName;

    /** 是否产生异常费用 */
    @Excel(name = "是否产生异常费用")
    private String isAbnormalSum;

    /** 所在部门 */
    @Excel(name = "所在部门")
    private Long deptId;

    private String dingDeptText;

    /** 节点类型;字典-point_type */
    @Excel(name = "节点类型;字典-point_type")
    private String pointType;

    /** 钉钉创建者 */
    @Excel(name = "钉钉创建者")
    private String dingCreateBy;

    /** 钉钉部门 */
    @Excel(name = "所在部门")
    private String dingDeptId;

    /** 实例id的备注信息 */
    private String remark;
}
